$(function(){


//	$('.js_addimg').on('click',function(){
//		var fileLisr = this.files;
//		var $par = $(this).parent().parent()
//		var imgSrc = window.URL.createObjectURL( fileLisr[0] )
//
//		$par.parent().find('.has_img').addClass('has').append( imgstr )
//	})

//	var uploadCallback = null
//	var uploadLock = false
//
//	$('.js_addimg').on('click', function() {//图片上传
//		if (uploadCallback) return
//		var $this = $(this);
//		var $par = $this.parent().parent()
//		$('#image_upload_hide_input').trigger('focus').trigger('click')
//		uploadCallback = function(data) {
//			uploadCallback = null;
//			var status = data.status;
//			if( status == 1 ){
//				//console.log( data )
//				var imgSrc = data.data.path;
//				var imgstr = '<img src="'+ imgSrc +'"/><p class="delete_img">删除</p>';
//				$par.parent().find('.has_img').addClass('has').append( imgstr )
//				$this.siblings().attr('value',imgSrc)
//			}else{
//				alert('图片上传失败')
//			}
//		}
//	})
//
//	$('#image_upload_hide_input').on('change', function () {
//		uploadLock = true
//		$.ajax({
//			type:"post",
//			url:"http://api.veryeast.cn/upload/feedback/default",
//			data: new FormData($('.upload_img')[0]),
//			processData: false,
//  		contentType: false,
//			success: function(data){
//				uploadLock = false
//				uploadCallback(data)
//				$("#image_upload_hide_input").val("");
//			},
//			error: function(err) {
//				$("#image_upload_hide_input").val("");
//				uploadLock = false
//				uploadCallback = null;
//				alert(JSON.stringify(err, null, 2))
//			}
//		});
//	}).on('blur', function () {
//		if (!uploadLock) {
//			uploadCallback = null
//		}
//	})

	function fileZip(oFile, callback) {
		var imgSize = oFile.size;

		if(imgSize < 128 * 1024){
			callback(oFile)
		} else {    // 图片压缩处理
			var reader   = new FileReader(),
				maxWidth = 300,
				maxHeight= 400;

			reader.onload = function(e) {
				var base64Img= e.target.result;
				//--执行resize。
				ImageResizer({
					resizeMode		: "auto",
					dataSource		: base64Img,
					dataSourceType	: "base64",
					maxWidth		: maxWidth, //允许的最大宽度
					maxHeight		: maxHeight, //允许的最大高度。
					onTmpImgGenerate: function(img){
					},
					success: function(resizeImgBase64,canvas){
						var blob = dataURLtoBlob(resizeImgBase64);
						callback(blob);
					}
				});
			};
			reader.readAsDataURL(oFile);
		}
	}


	var uploading = false;

	$('.js_addimg').on('click', function() {//图片上传
		if (uploading) return;

		var $this = $(this);
		var $par = $this.parent().parent();

		// var ImgFileGet = new ImgFileGet_class({
		// 	fileSelector: "#image_upload_hide_input",  //fileInput选择器
		// 	preViewImgSelector: "#pre-img",  //预览图片
		// 	max_size: 2 * 1024,
		// 	ajaxInterace: function (res) {
		// 		var $upload_img = $('.upload_img');
		// 		var formData = new FormData('<form enctype="multipart/form-data"/>');
		// 		formData.append('type', $upload_img.find('[name="type"]').val());
		// 		formData.append('attribute', $upload_img.find('[name="attribute"]').val());
		// 		formData.append('default', res.data, 'image.png');
		// 		uploaded = true;
		// 		$.ajax({
		// 			type: "post",
		// 			url: "http://api.veryeast.cn/upload/feedback/default",
		// 			data: formData,
		// 			processData: false,
		// 			contentType: false,
		// 			success: function (data) {
		// 				alert(JSON.stringify(data));
		// 				if (data.status == 1) {
		// 					var imgSrc = data.data.path,
		// 						_rotate=0;
        //
		// 					EXIF.getData(res.file, function() {
		// 						var _orientation = EXIF.getTag(this, 'Orientation')
		// 						alert(_orientation);
		// 						if (_orientation == 3) {
		// 							_rotate = 180;
		// 						} else if (_orientation == 6) {
		// 							_rotate = 90;
		// 						} else if (_orientation == 8) {
		// 							_rotate = 270;
		// 						};
		// 					});
        //
		// 					var imgstr = '<img src="' + imgSrc + '" class="rotate-' + _rotate+'"/><p class="delete_img">删除</p>';
		// 					$par.parent().find('.has_img').addClass('has').append(imgstr);
		// 					$this.siblings().attr('value', imgSrc);
		// 				} else {
		// 					alert('图片上传失败')
		// 				}
		// 			},
		// 			error: function (err) {
		// 				alert(1);
		// 				alert(JSON.stringify(err, null, 2))
		// 			},
		// 			complete: function () {
		// 				$("#image_upload_hide_input").val("");
		// 				uploading = false;
		// 			}
		// 		}, 'json')
		// 	}
		// })

		$('#image_upload_hide_input').off('change').on('change', function () {
			var $upload_img = $('.upload_img');
			var formData = new FormData('<form enctype="multipart/form-data"/>');
			formData.append('type', $upload_img.find('[name="type"]').val());
			formData.append('attribute', $upload_img.find('[name="attribute"]').val());

			fileZip($upload_img.find('#image_upload_hide_input').get(0).files[0], function (image) {
				uploaded = true;
				formData.append('default', image, '_.png');
				$.ajax({
					type:"post",
					url:"http://api.veryeast.cn/upload/feedback/default",
					data: formData,
					processData: false,
					contentType: false,
					success: function(data){
						if( data.status == 1 ){
							//console.log( data )
							var imgSrc = data.data.path;
							var imgstr = '<img src="'+ imgSrc +'"/><p class="delete_img">删除</p>';
							$par.parent().find('.has_img').addClass('has').append( imgstr );
							$this.siblings().attr('value',imgSrc)
						}else{
							alert('图片上传失败')
						}
					},
					error: function(err) {
						alert(JSON.stringify(err, null, 2))
					},
					complete: function () {
						$("#image_upload_hide_input").val("");
						uploading = false;
					}
				});
			});
		}).trigger('click')


//		uploadCallback = function(data) {
//			uploadCallback = null;
//			var status = data.status;
//			if( status == 1 ){
//				//console.log( data )
//				var imgSrc = data.data.path;
//				var imgstr = '<img src="'+ imgSrc +'"/><p class="delete_img">删除</p>';
//				$par.parent().find('.has_img').addClass('has').append( imgstr )
//				$this.siblings().attr('value',imgSrc)
//			}else{
//				alert('图片上传失败')
//			}
//		}
	})
	
	
	
	
	//删除照片
	$('.has_img').on('click','.delete_img',function(){
		var $this = $(this);
		$("#image_upload_hide_input").val("");
		$this.parent().siblings().find('input').prop('value','');
		$this.parent().removeClass('has').empty();
	})
	
	
	
	$('.js_submit_btn').click(function(){ //提交报名
		
		var t = $('.js_register_for').serializeArray(); //序列化
  		var data = $('.js_register_for').serialize();
	
		if( changeName(t[0].value) ){ //姓名有误
			$('.js_name').addClass('err_border')
			$('.js_massage_name').css({'visibility':'inherit'})
			return false
		}else{
			$('.js_name').removeClass('err_border')
			$('.js_massage_name').css({'visibility':'hidden'})
		}
		
		if( !chagePhoneNumber(t[1].value) ){//手机号有误
			
			$('.js_mobile').addClass('err_border')
			$('.js_massage_mobile').css({'visibility':'inherit'})
			return false
		}else{
			$('.js_mobile').removeClass('err_border')
			$('.js_massage_mobile').css({'visibility':'hidden'})
		}
		
		if( changeName(t[2].value) ){ //任职酒店有误
			$('.js_hotel_name').addClass('err_border')
			$('.js_massage_hotel').css({'visibility':'inherit'})
			return false
		}else{
			$('.js_hotel_name').removeClass('err_border')
			$('.js_massage_hotel').css({'visibility':'hidden'})
		}
		
		if( changeName(t[3].value) ){ //职位
			$('.js_jobName').addClass('err_border')
			$('.js_massage_jobName').css({'visibility':'inherit'})
			return false
		}else{
			$('.js_jobName').removeClass('err_border')
			$('.js_massage_jobName').css({'visibility':'hidden'})
		}
		
		if( t[4].value == '' ){//工作照
			
			$('.js_err_img').html('请选择工作照').css({'visibility':'inherit'})
			return false
		}else{
			$('.js_err_img').css({'visibility':'hidden'})
		}
		
		if( t[5].value == '' ){ //变身照
			$('.js_err_img').html('请选择变身照').css({'visibility':'inherit'})
			return false
		}else{
			$('.js_err_img').css({'visibility':'hidden'})
		}
		
		
		$.ajax({
			type:"post",
			url:"/hotelp/api/sign-up",
			data:t,
			success:function(data){
				//console.log( data )
				var status = data.status;
				if( status ==  1 ){
					var id  = data.msg.id;
					window.location.href = 'http://activity.veryeast.cn/hotelp/index/share?id='+id;
				}else{
					//console.log( data.err_msg )
					for (var _key in data.err_msg) {
						//obj.hasOwnProperty('mobile');
					    //console.log( _key )
					    data.err_msg[_key] ? alert( data.err_msg[_key] ) : alert( '报名失败' );
					}
					
				}
			},
			error:function(){
				alert( '报名失败' )
			}
		});
		return false
	})
})



$('.pop_up .sure').click(function(){
	$('.background ,.pop_up').hide();
})



//验证手机号
function chagePhoneNumber(phone){
	var regPhone = /^1[3578]\d{9}$/;
	if( regPhone.test( phone ) ){
		return true
	}else{
		return false
	}
}

function changeName(name){
	var regName = /^(\d)*$/;
	if( regName.test(name) ){
		return true;

	}else{
		return false;
	}
}














//var reader = new FileReader();//新建一个FileReader
//	    reader.readAsText(fileLisr[0], "UTF-8");//读取文件
//	    reader.onload = function(evt){ //读取完文件之后会回来这里
//
//	        var fileString = evt.target.result;
//		}


var ImageResizer=function(opts){
	var settings={
		resizeMode:"auto"//压缩模式，总共有三种  auto,width,height auto表示自动根据最大的宽度及高度等比压缩，width表示只根据宽度来判断是否需要等比例压缩，height类似。
		,dataSource:"" //数据源。数据源是指需要压缩的数据源，有三种类型，image图片元素，base64字符串，canvas对象，还有选择文件时候的file对象。。。
		,dataSourceType:"image" //image  base64 canvas
		,maxWidth:500 //允许的最大宽度
		,maxHeight:500 //允许的最大高度。
		,onTmpImgGenerate:function(img){} //当中间图片生成时候的执行方法。。这个时候请不要乱修改这图片，否则会打乱压缩后的结果。
		,success:function(resizeImgBase64,canvas){

		}//压缩成功后图片的base64字符串数据。
	};
	var appData={};
	$.extend(settings,opts);


	var innerTools={
		getBase4FromImgFile:function(file,callBack){

			var reader = new FileReader();
			reader.onload = function(e) {
				var base64Img= e.target.result;
				if(callBack){
					callBack(base64Img);
				}
			};
			reader.readAsDataURL(file);
		},

		//--处理数据源。。。。将所有数据源都处理成为图片对象，方便处理。
		getImgFromDataSource:function(datasource,dataSourceType,callback){
			var _me=this;
			var img1=new Image();

			if(dataSourceType=="img"||dataSourceType=="image"){
				img1.src=$(datasource).attr("src");
				if(callback){
					callback(img1);
				}
			}
			else if(dataSourceType=="base64"){
				img1.src=datasource;
				setTimeout(function () {
					if(callback){
						callback(img1);
					}
				}, !!navigator.userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/) ? 1024 : 0)
			}
			else if(dataSourceType=="canvas"){
				img1.src = datasource.toDataURL("image/jpeg");
				if(callback){
					callback(img1);
				}
			}
			else if(dataSourceType=="file"){
				_me.getBase4FromImgFile(function(base64str){
					img1.src=base64str;
					if(callback){
						callback(img1);
					}
				});
			}
		},

		//计算图片的需要压缩的尺寸。当然，压缩模式，压缩限制直接从setting里面取出来。
		getResizeSizeFromImg:function(img){
			var _img_info={
				w:$(img)[0].naturalWidth,
				h:$(img)[0].naturalHeight
			};

			var _resize_info={
				w:0,
				h:0
			};

			if(_img_info.w <= settings.maxWidth && _img_info.h <= settings.maxHeight){
				return _img_info;
			}
			if(settings.resizeMode=="auto"){
				var _percent_scale=parseFloat(_img_info.w/_img_info.h);
				var _size1={
					w:0,
					h:0
				};
				var _size_by_mw={
					w:settings.maxWidth,
					h:parseInt(settings.maxWidth/_percent_scale)
				};
				var _size_by_mh={
					w:parseInt(settings.maxHeight*_percent_scale),
					h:settings.maxHeight
				};
				if(_size_by_mw.h <= settings.maxHeight){
					return _size_by_mw;
				}
				if(_size_by_mh.w <= settings.maxWidth){
					return _size_by_mh;
				}

				return {
					w:settings.maxWidth,
					h:settings.maxHeight
				};
			}
			if(settings.resizeMode=="width"){
				if(_img_info.w<=settings.maxWidth){
					return _img_info;
				}
				var _size_by_mw={
					w:settings.maxWidth,
					h:parseInt(settings.maxWidth/_percent_scale)
				};
				return _size_by_mw;
			}
			if(settings.resizeMode=="height"){
				if(_img_info.h<=settings.maxHeight){
					return _img_info;
				}
				var _size_by_mh={
					w:parseInt(settings.maxHeight*_percent_scale),
					h:settings.maxHeight
				};
				return _size_by_mh;
			}
		},

		//--将相关图片对象画到canvas里面去。
		drawToCanvas:function(img,theW,theH,realW,realH,callback){
			var canvas = document.createElement("canvas");

			EXIF.getData(img, function() {
				var _orientation = EXIF.getTag(this, 'Orientation')

				if (_orientation === 6) {
					canvas.width=theH;
					canvas.height=theW;
				} else {
					canvas.width=theW;
					canvas.height=theH;
				}

				var ctx = canvas.getContext('2d');

				if (_orientation === 6) {
					ctx.translate(canvas.width, 0);
					ctx.rotate(90 * Math.PI / 180)
				}

				ctx.drawImage(
					img,
					0,//sourceX,
					0,//sourceY,
					realW,//sourceWidth,
					realH,//sourceHeight,
					0,//destX,
					0,//destY,
					theW,//destWidth,
					theH//destHeight
				);

				//--获取base64字符串及canvas对象传给success函数。
				var base64str = canvas.toDataURL("image/png");
				if(callback){
					callback(base64str,canvas);
				}

			});
		}
	};

	//--开始处理。
	(function(){
		innerTools.getImgFromDataSource(settings.dataSource, settings.dataSourceType, function(_tmp_img){
			var __tmpImg = _tmp_img;
			settings.onTmpImgGenerate(_tmp_img);

			//--计算尺寸。
			var _limitSizeInfo=innerTools.getResizeSizeFromImg(__tmpImg);
			var _img_info = {
				w: __tmpImg.naturalWidth,
				h: __tmpImg.naturalHeight
			};

			innerTools.drawToCanvas(__tmpImg,_limitSizeInfo.w,_limitSizeInfo.h,_img_info.w,_img_info.h,function(base64str,canvas){
				settings.success(base64str, canvas);
			});
		});
	})();
};

function dataURLtoBlob(dataurl) {
	try {
		var arr = dataurl.split(','),
			mime = arr[0].match(/:(.*?);/)[1],
			bstr = atob(arr[1]),
			n = bstr.length,
			u8arr = new Uint8Array(n);
		while(n--){
			u8arr[n] = bstr.charCodeAt(n);
		}
	} catch (err) {
		alert(err)
	}
	return new Blob([u8arr], {type:mime});
}




// var ImgFileGet_class = function(msg){
//
// 	this.fileSelector = msg.fileSelector;  //file-input的选择器
// 	this.preViewImgSelector = msg.preViewImgSelector;  //图片预览选择器
// 	this.max_size = msg.max_size || false;  //图片最大大小，不设为无限度
// 	this.ajaxInterace = msg.ajaxInterace; //ajax上传图片插件
//
// 	var _this = this;
// 	$(this.fileSelector).off('change').on('change',function(){
// 		var reader = new FileReader();
// 		var file = this.files[0];
//
// 		reader.onload = function(e){
// 			var com_rate = 3;
//
// 			if((_this.max_size!==false) && (file.size>_this.max_size)){
// 				com_rate =  _this.max_size/file.size;
// 			}
//
// 			_this.compressImg(e.target.result,com_rate,function(res){
//
// 				//_this.preViewImgSelector && $(_this.preViewImgSelector).attr('src',src_data);
//
// 				if(_this.ajaxInterace){
// 					_this.ajaxInterace({data:_this.dataURItoBlob(res.data),file:file});
// 				}
// 			});
//
// 		}
// 		reader.readAsDataURL(file);
// 	}).trigger('click');
//
// 	this.dataURItoBlob = function(base64Data) {
// 		var byteString;
// 		if (base64Data.split(',')[0].indexOf('base64') >= 0)
// 			byteString = atob(base64Data.split(',')[1]);
// 		else
// 			byteString = unescape(base64Data.split(',')[1]);
// 		var mimeString = base64Data.split(',')[0].split(':')[1].split(';')[0];
// 		var ia = new Uint8Array(byteString.length);
// 		for (var i = 0; i < byteString.length; i++) {
// 			ia[i] = byteString.charCodeAt(i);
// 		}
// 		return new Blob([ia], {type:mimeString});
// 	};
//
// 	this.compressImg = function(imgData,com_rate,onCompress){
// 		if(!imgData)return;
// 		onCompress = onCompress || function(){};
// 		com_rate = com_rate || 1;//压缩比率默认为1
//
// 		var img = new Image();
//
// 		img.onload = function(){
// 			var canvas = document.createElement("canvas");
// 			canvas.width = img.width;
// 			canvas.height = img.height;
// 			var flag= img.width>img.height ? false : true;
// 			var ctx = canvas.getContext("2d");
// 			ctx.drawImage(img,0,0);
// 			var c = ctx.getImageData(0, 0, img.width, img.height);
// 			//chrome浏览器报错，ie浏览器报安全错误信息，原因往下看
// 			for(var i = 0; i < c.height; ++i){
// 				for(var j = 0; j < c.width; ++j){
// 					var x = i*4*c.width + 4*j,  //imagedata读取的像素数据存储在data属性里，是从上到下，从左到右的，每个像素需要占用4位数据，分别是r,g,b,alpha透明通道
// 						r = c.data[x],
// 						g = c.data[x+1],
// 						b = c.data[x+2];
// 					c.data[x+3] = 150;    //透明度设置为150,0表示完全透明
// 					//图片反相：
// 					c.data[x] = 255-r;
// 					c.data[x+1] = 255-g;
// 					c.data[x+2] = 255-b;
// 				}
// 			}
// 			onCompress({data : canvas.toDataURL("image/jpeg"),flag:flag});//必须等压缩完才读取canvas值，否则canvas内容是黑帆布
// 		};
//
// 		//记住必须先绑定事件，才能设置src属性，否则img没内容可以画到canvas
// 		img.src = imgData;
// 	};
// }